package com.purchase.ml.service.report;

import com.purchase.ml.bean.base.PageDto;
import com.purchase.ml.bean.page.Page;
import com.purchase.ml.bean.req.report.*;
import com.purchase.ml.bean.res.report.ReportAdminRes;
import com.purchase.ml.bean.res.report.ReportMasterDealerRes;
import com.purchase.ml.bean.res.report.vo.ReportDealerSalesVo;

import java.util.Map;

/**
 * Created by kyyang on 2021/3/4 23:03
 */
public interface ReportService {
    
    /**
     * @description: 查询统计报告
     * @author kyyang
     * @date 2021/3/4 23:11
     * @version 1.0
     * @param req
     */
    ReportAdminRes queryAdminReport(ReportAdminReq req) throws Exception;

    /**
     * @description: 主经销商查询统计报告
     * @author kyyang
     * @date 2021/3/4 23:11
     * @version 1.0
     * @param req
     */
    ReportMasterDealerRes queryMasterDealerReport(ReportAdminReq req) throws Exception;

    /**
     * @description: 查询主经销商汇总数据分页查询
     * @author kyyang
     * @date 2021/3/4 23:11
     * @version 1.0
     */
    Page<ReportDealerSalesVo> queryMasterDealerSalesPageReport(ReportDealerReq reportDealerReq);


    /**
     * @description: 查询线上交易报告
     * @author kyyang
     * @date 2021/4/11 13:34
     * @version 1.0
     */
    Map<String, Object> queryOnlineTransactionReport(ReportOnlineTransactionReq req) throws Exception;

    /**
     * @description: 查询所有主经销商销售报告
     * @author kyyang
     * @date 2021/4/11 14:48
     * @version 1.0
     */
    Map<String, Object> queryMasterDealerSalesReport(ReportMasterDearSaleReq req) throws Exception;

    /**
     * @description: 产品销售报告
     * @author kyyang
     * @date 2021/4/11 15:33
     * @version 1.0
     */
    Map<String, Object> queryProductSalesReport(ReportProductSaleReq req) throws Exception;
}
